1. Field of the Invention
The present invention relates generally to databases. More specifically, the present invention relates to techniques for replicating modified data to a hierarchical database.
2. Description of Background
A database is a system for storing and managing data. A database may store quantities of data which are potentially very large. Diverse types of data may be stored at the same database. In most databases, relationships between different elements of data stored at the database exist. Relationships may exist between data elements having different data types. To allow systems external to the database to access data located at the database, databases generally include functionality to process queries. A query is a request to retrieve specified data located at a database and to transmit the retrieved data to the entity which submitted the query.
The contents of a database need not be static. To the contrary, databases generally provide functionality to allow systems external to the database to modify the contents of the database. Modifications may include inserting new data, modifying existing data and deleting existing data.
Many databases known in the art organize data according to a hierarchical paradigm. A database organizing data in this manner is known as a hierarchical database. In a hierarchical database, parent-child relationships exist between different data elements stored at the database. A given data element may have a plurality of data elements as children. However, a given data element may have at most one data element as a parent. These parent-child relationships may define one or more tree structures. A data element may have a parent, a child, or both which is of a different data type.
The Service Data Objects (SDO) framework provides a unified framework for data application development. In particular, the SDO framework facilitates representing data using a tree structure. The SDO framework defines an entity known as a data graph. A data graph represents a database or another data source. The SDO framework additionally defines an entity known as a data object. A data object represents a specific unit of data. A data object may be included in a data graph, which may in turn arrange the data objects included therein into a tree structure. A data object generally has one or more properties which contain the data represented by the data object. A reference is a special type of property which links the data object in which it is contained to another data object. It is noted that references are included in the data graph due to being included in data objects which are included in the data graph. The references thus included in a data graph may define a tree structure within the data graph. A data graph includes functionality for tracking changes made to the data graph and to data objects contained thereby.